/**
 * 由 WangYu 创建
 * 日期 2017/8/31
 */
import React, {Component} from 'react';
import {
    StyleSheet,
    Text,
    View,
    Image,
    ToastAndroid,
} from 'react-native';
import {connect} from 'react-redux';
import {add} from "../../redux/action";
class Counter extends Component {

    render() {
        return (
            <View style={styles.container}>
                <Text>次数:{this.props.result.result}</Text>
                <Text style={styles.button}
                      onPress={this.press}>点击我</Text>
            </View>
        );
    }

    press = () => {
        //通过add生成一个加一的action开始分发
        this.props.dispatch(add(1));
    }
}

const styles = StyleSheet.create({
    container: {
        flexDirection: 'row',
        marginTop: 20,
    },
    button: {
        marginLeft: 20,
    }
});

/**
 * 这个函数的作用是将store的状态,也就是数据绑定到当前组件的属性中
 * 其实就是将store里面的reducer的运算结果赋值给当前控件的属性,只不过这个属性是可以更新的
 * @param state
 * @returns {{result}}
 */
const mapStateToProps=store=>({
    result:store.calculate,
});



export default connect(mapStateToProps)(Counter);

